aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/routes/status/[id]/+page.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/routes/status/[id]/+page.ts')
-rw-r--r--frontend/src/routes/status/[id]/+page.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/frontend/src/routes/status/[id]/+page.ts b/frontend/src/routes/status/[id]/+page.ts
new file mode 100644
index 0000000..4351aae
--- /dev/null
+++ b/frontend/src/routes/status/[id]/+page.ts
@@ -0,0 +1,22 @@
+import type { PageLoad } from './$types';
+
+export const load: PageLoad = async ({ params, fetch }) => {
+ const id = params.id;
+
+ const [servicesRes, historyRes, statsRes] = await Promise.all([
+ fetch(`http://localhost:8080/api/services`).catch(() => null),
+ fetch(`http://localhost:8080/api/services/${id}/history`).catch(() => null),
+ fetch(`http://localhost:8080/api/services/${id}/stats`).catch(() => null)
+ ]);
+
+ const services = servicesRes?.ok ? await servicesRes.json() : [];
+ const svc = services.find((s: any) => s.id === Number(id));
+ const history = historyRes?.ok ? await historyRes.json() : [];
+ const stats = statsRes?.ok ? await statsRes.json() : null;
+
+ return {
+ service: svc ?? null,
+ history,
+ stats
+ };
+};